package com.cmj.service;

import com.cmj.domain.ResponseResult;
import com.cmj.domain.dto.ArticleDto;
import com.cmj.domain.entity.Article;
import com.cmj.domain.vo.ArticleListVo;

/**
 * 文章表(Article)表服务接口
 *
 * @author makejava
 * @since 2022-03-12 16:41:50
 */
public interface ArticleService {

    /***
     * 查询热门文章
     * @return 查询到的热门文章
     */
    ResponseResult<Article> hotArticleList();

    /***
     * 查询全部文章 分页展示
     * @param pageNum 页数
     * @param pageSize 每页大小
     * @param categoryId 文章id
     * @return 文章列表
     */
    ResponseResult articleList(Integer pageNum, Integer pageSize, Long categoryId);

    /***
     * 文章详情
     * @param id
     * @return 文章详情
     */
    ResponseResult getArticleDetail(Long id);

    /***
     * 更新浏览量（写入redis中)
     * @param id 文章id
     * @return 操作结果
     */
    ResponseResult updateViewCount(Long id);

    ResponseResult articleList(Integer pageNum, Integer pageSize, ArticleDto articleDto);

    ResponseResult delArticle(Long[] id);

    ResponseResult<ArticleListVo> getArticle(Long id);

    ResponseResult updateArticle(Article article);

    ResponseResult<ArticleListVo> addArticle(Article article);
}
